package com.study;

import javax.swing.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.util.Random;

public class GuessNumber {
    public static void main(String[] args) {
        JFrame jf = new JFrame();
        jf.setAlwaysOnTop(true);
        jf.setLocationRelativeTo(null);
        jf.setTitle("猜数字");
        jf.setDefaultCloseOperation(3);
        jf.setSize(400, 300);
        jf.setLayout(null);

        // 提示信息
        JLabel message = new JLabel("系统产生了一个1-100之间的数据，请猜一猜");
        message.setBounds(70, 50, 350, 20);
        jf.add(message);

        // 输入要猜的数字
        JTextField numberField = new JTextField();
        numberField.setBounds(120, 100, 150, 20);
        jf.add(numberField);

        // 才数字的按钮
        JButton guessButton = new JButton("我猜");
        guessButton.setBounds(150, 150, 100, 20);
        jf.add(guessButton);

        //使用Random对象生成一个正确的答案
        int number = new Random().nextInt(100) + 1;

        //添加点击事件
        guessButton.addActionListener(new ActionListener() {
            @Override
            public void actionPerformed(ActionEvent e) {
                // 1、获取文本框中的数据
                String stringNumber = numberField.getText().trim();
                // 2、非空判断
                if (stringNumber.isEmpty()) {
                    JOptionPane.showMessageDialog(jf, "输入的数字不能为空！");
                    return;
                }
                // 3、获取到的数值是String类型，将String转换成int类型
                int guessNumber = Integer.parseInt(stringNumber);
                // 4、和正确答案进行对比，弹框提示
                if (guessNumber > number) {
                    JOptionPane.showMessageDialog(jf, "猜大了");
                    numberField.setText("");
                } else if (guessNumber < number) {
                    JOptionPane.showMessageDialog(jf, "猜小了");
                    numberField.setText("");
                } else {
                    JOptionPane.showMessageDialog(jf, "恭喜你，猜对了");
                }
            }
        });

        jf.setVisible(true);
    }
}
